A distributed storage system includes multiple storage nodes, and data may be physically stored on any one of these storage nodes. Distributed storage systems are generally scalable, versatile, and efficient. For example, new storage nodes may be added to a system as the amount of data increases. Malfunctioning storage nodes in a system may be replaced individually. The same data may be duplicated on multiple storage nodes in a system for safe keeping and load balancing.